访问电脑版页面

导航:老古开发网手机版STM32单片机Keil MDK编程

新建STM32工程全局声明两个宏的原因

导读:
关键字:
STM32,

在uVision中新建STM32工程后,需要从STM32标准库中拷贝标准外设驱动到自己的工程目录中,此时需要在工程设置->C++/C++选项卡下的Define文本框中键入这两个全局宏定义。

STM32F40_41xxx,USE_STDPERIPH_DRIVER

USE_STDPERIPH_DRIVER

这个说明你在使用标准外设驱动,有自己的外设配置文件,即stm32f10x_conf.h,详细可查看stm32f4xx.h中12026-12017行。关于stm32f4xx_conf.h

文件中的内容,是有选择的#inlude "stm32f4xx_conf.h",这样只编译需要的外设文件,减少hex文件的体积。如果没有使用这个宏,或没有stm32f10x_conf.h文件,那么编译时会有一大堆莫名奇妙地错误,这是因为MDK中也自带了stm32f40x_xxxx.h文件,使得编译器使用MDK中.h文件,而.c文件和.h文件版本是不匹配的。

注意,如果是库文件的错误,那一定是你工程配置有问题。

Use Standard Peripheral Driver
  在Keil MDK环境中使用STM32固件库建立工程时,可能会遇到编译不通过的问题。出现如下警告或错误提示:
warning:#223-D:funcTIon"assert_param"declaredimplicitly;assert_param(IS_GPIO_ALL_PERIPH(GPIOx));

这时候我们需要在设置面板的“TargetOpTIons”中“C/C++”选项卡添加STM32F40_41xxx,USE_STDPERIPH_DRIVER。这样才能使编顺利通过。

知其然了,我们还得知其所以然。下面就一一道来。我们知道,程序的执行是从main.c文件开始的,其中必须包含有头文件stm32f4xx.h。打开stm32f4xx.h,查找USE_STDPERIPH_DRIVER,在第12026-12017行找到

#ifdef USE_STDPERIPH_DRIVER #include "stm32f4xx_conf.h"

来源:工程师曾玲   作者:city_prolove  2019/8/10 10:25:00
栏目: [ STM32单片机Keil MDK编程]

相关阅读

keil4和keil5的区别以及Keil5的安装激活教程解析

如何在STM32单片机的MDK工程中使用printf

KEILv5 STM32 程序在APP与BOOTLOADER共用方法

基于STM32对DS1302的驱动

Keil MDK3.20的stm32调试方法

STM32的数据类型基础介绍

基于keil mdk 标准外设库的软件开发

获取STM32 MCU唯一ID的方法

KEIL工具可通过MPS对基于CORTEX-M处理器的系统建立样机

STM32F4 C++ 封装库 之 EXTI

STM32单片机半主机模式的应用

基于stm32的keil开发环境搭建

基于Keil 5版本单片机编程软件中MDK的应用技巧解析

如何构建STM32单片机keil的开发环境

基于STM32的MDK程序启动

STM32单片机在KIEL4配置开发中的设置

stm32笔记: 将用户自定义关键字从MDK3.8 搬到 MDK4.70A

stm32之.hex 文件

如何创建一个STM32工程模板

关于在ARM MDK 中使用STM32F4xx 硬件浮点单元